﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AdministrarOfertaTutoria.aspx.cs"
    Inherits="Ent.Inscripcion.Presentacion.Administracion.AdministrarOfertas" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Administrar Ofertas de Horarios</title>
    <ext:ResourcePlaceHolder ID="ResourcePlaceHolder1" runat="server" Mode="Script" />
    <script type="text/javascript" src="../Resources/Js/EntInscripcion.js"></script>
</head>
<body>
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <ext:Hidden ID="hidIdPeriodo" runat="server">
    </ext:Hidden>
    <ext:Hidden ID="hidAccionPeriodo" runat="server">
    </ext:Hidden>
    <ext:Viewport ID="ViewPort1" runat="server" Layout="Fit">
        <LayoutConfig>
            <ext:VBoxLayoutConfig Align="Stretch" />
        </LayoutConfig>
        <Items>
            <ext:GridPanel ID="gdpPeriodosActivos" runat="server" StripeRows="true" AutoWidth="true"
                Height="600" AutoExpandColumn="Descripcion">
                <Store>
                    <ext:Store runat="server" ID="stoOfertasActivos">
                        <Reader>
                            <ext:JsonReader IDProperty="Id">
                                <Fields>
                                    <ext:RecordField Name="Id" />
                                    <ext:RecordField Name="Codigo" />
                                    <ext:RecordField Name="Nombre" />
                                    <ext:RecordField Name="Descripcion" />
                                    <ext:RecordField Name="FechaInicio" Type="Date" />
                                    <ext:RecordField Name="FechaFin" Type="Date" />
                                    <ext:RecordField Name="Estado" />
                                </Fields>
                            </ext:JsonReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <TopBar>
                    <ext:Toolbar ID="Toolbar3" runat="server">
                        <Items>
                            <ext:Button ID="btnEstablecerPeriodo" runat="server" Text="Establecer periódo para Tutorias"
                                Icon="ReportEdit">
                                <Listeners>
                                    <Click Handler="#{winEstablecerPeriodo}.show();" />
                                </Listeners>
                            </ext:Button>
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <ColumnModel ID="ColumnModel3" runat="server">
                    <Columns>
                        <ext:CommandColumn Width="80">
                            <Commands>
                                <ext:GridCommand CommandName="Activar" Text="Activar" Icon="PageEdit" ToolTip-Text="Activar Periodo">
                                </ext:GridCommand>
                            </Commands>
                        </ext:CommandColumn>
                        <ext:Column Header="Código" Width="100" Sortable="true" DataIndex="Codigo" />
                        <ext:Column Header="Nombre" Width="200" Sortable="true" DataIndex="Nombre" />
                        <ext:DateColumn Header="Fecha Inicio" Width="150" Sortable="true" DataIndex="FechaInicio"
                            Format="j \de F \de\l Y" />
                        <ext:DateColumn Header="Fecha Fin" Width="150" Sortable="true" DataIndex="FechaFin"
                            Format="j \de F \de\l Y" />
                        <ext:Column Header="Estado" Width="80" Sortable="true" DataIndex="Estado">
                            <Renderer Fn="ValorEstado" />
                        </ext:Column>
                        <ext:Column ColumnID="Descripcion" Header="Descripción" Width="100" Sortable="true"
                            DataIndex="Descripcion" />
                    </Columns>
                </ColumnModel>
                <SelectionModel>
                    <ext:RowSelectionModel ID="RowSelectionModel3" runat="server" SingleSelect="true">
                    </ext:RowSelectionModel>
                </SelectionModel>
                <DirectEvents>
                    <Command OnEvent="ManejarAccion">
                        <ExtraParams>
                            <ext:Parameter Name="Comando" Value="command" Mode="Raw" Encode="false" />
                            <ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw" />
                        </ExtraParams>
                    </Command>
                </DirectEvents>
                <LoadMask Msg="Cargando Datos" ShowMask="true" />
            </ext:GridPanel>
        </Items>
    </ext:Viewport>
    <ext:Window ID="winEstablecerPeriodo" runat="server" Icon="Application" Title="Establecer periódo para ofertar las Tutorias"
        Modal="True" AutoHeight="true" Width="515" Y="5" CenterOnLoad="true" Hidden="true"
        ButtonAlign="Center" Resizable="false" Closable="true">
        <Items>
            <ext:FormPanel ID="frmEstablecerPeriodo" runat="server" Width="500" Padding="10"
                ButtonAlign="Center">
                <Items>
                    <ext:DateField runat="server" ID="dtfFechaInicio" FieldLabel="Fecha Inicio" ShowToday="false"
                        AnchorHorizontal="95%" AllowBlank="false" Vtype="daterange">
                        <Listeners>
                            <Select Handler="#{dtfFechaFin}.setMinValue(#{dtfFechaInicio}.getValue());" />
                        </Listeners>
                    </ext:DateField>
                    <ext:DateField runat="server" ID="dtfFechaFin" FieldLabel="Fecha Fin" ShowToday="false"
                        AnchorHorizontal="95%" AllowBlank="false" Vtype="daterange">
                        <Listeners>
                            <Select Handler="#{dtfFechaInicio}.setMaxValue(#{dtfFechaFin}.getValue()); " />
                        </Listeners>
                    </ext:DateField>
                    <ext:ComboBox runat="server" ID="cbxPeriodo" FieldLabel="Periódo Académico" AnchorHorizontal="95%"
                        DisplayField="Descripcion" ValueField="Codigo" AllowBlank="false">
                        <Store>
                            <ext:Store runat="server" ID="stoPeriodosAcademicos">
                                <Reader>
                                    <ext:JsonReader IDProperty="Codigo">
                                        <Fields>
                                            <ext:RecordField Name="Codigo" />
                                            <ext:RecordField Name="Nombre" />
                                            <ext:RecordField Name="Descripcion" />
                                        </Fields>
                                    </ext:JsonReader>
                                </Reader>
                            </ext:Store>
                        </Store>
                        <Listeners>
                            <Select Handler="VerInformacionPeriodo(el,record,index);" />
                        </Listeners>
                    </ext:ComboBox>
                    <ext:TextField ID="txtNombre" runat="server" FieldLabel="Nombres" Text="" Disabled="true"
                        AnchorHorizontal="95%" AllowBlank="false" />
                    <ext:TextArea ID="txaDescripcion" runat="server" FieldLabel="Descripcion" Text=""
                        Disabled="true" AnchorHorizontal="95%" AllowBlank="false" />
                </Items>
                <Buttons>
                    <ext:Button ID="btnAceptar" runat="server" Text="Aceptar" Icon="Add">
                        <DirectEvents>
                            <Click Before="return ValidaFormulario(#{frmEstablecerPeriodo});" OnEvent="btnAceptar_Click"
                                Success="RegistroCorrecto(#{frmEstablecerPeriodo});" Failure="ManejarError();">
                                <EventMask ShowMask="true" Msg="Estableciendo Periodo" />
                                <ExtraParams>
                                <ext:Parameter Name="Id" Value="#{hidIdPeriodo}.getValue()" Mode="Raw" />
                                    <ext:Parameter Name="Accion" Value="#{hidAccionPeriodo}.getValue()" Mode="Raw" />
                                    <ext:Parameter Name="FechaInicio" Value="#{dtfFechaInicio}.getValue()" Mode="Raw" />
                                    <ext:Parameter Name="FechaFin" Value="#{dtfFechaFin}.getValue()" Mode="Raw" />
                                    <ext:Parameter Name="Periodo" Value="#{cbxPeriodo}.getValue()" Mode="Raw" />
                                    <ext:Parameter Name="Nombre" Value="#{txtNombre}.getValue()" Mode="Raw" />
                                    <ext:Parameter Name="Descripcion" Value="#{txaDescripcion}.getValue()" Mode="Raw" />
                                </ExtraParams>
                            </Click>
                        </DirectEvents>
                    </ext:Button>
                    <ext:Button runat="server" Text="Cancelar" Icon="Stop">
                        <Listeners>
                            <Click Handler="LimpiarFormulario(#{frmEstablecerPeriodo});" />
                        </Listeners>
                    </ext:Button>
                </Buttons>
            </ext:FormPanel>
        </Items>
    </ext:Window>
    <ext:XScript ID="XScript1" runat="server">

    <script type="text/javascript">
        var RegistroCorrecto = function(form){
            alert('Datos guardados correctamente');  
            LimpiarFormulario(form);          
        };
        var LimpiarFormulario = function(form){
            form.getForm().reset();
            #{winEstablecerPeriodo}.hide();
        };
        var VerInformacionPeriodo = function(el,record,index){
            #{txtNombre}.setValue(record.get('Nombre'));
            #{txaDescripcion}.setValue(record.get('Descripcion'));
        };
        var ValorEstado = function(value){
            if(value=='1')
                return 'Activo';
            else
                return 'Inactivo';
        };
        var LimpiarForm = function () { 
            #{frmEstablecerPeriodo}.getForm().reset();
        };
        var ValidaFormulario = function(form1){
            if (form1.getForm().isValid())
                return true;
            else
            {
                MostrarMensaje(2,'Todos los campos son obligatorios');
                return false;
            }
        };
    </script>
    </ext:XScript>
</body>
</html>
